package com.anjie.powerproject.util;

import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class DateRange {
    public static List<String> getDateListOfDateRange(Date startDate, Date endDate) {
        List<String> dateList = new ArrayList<>();
        //转成短时间格式yyyy-MM-dd加入列表
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        String dateString = formatter.format(startDate);
        dateList.add(dateString);// 把开始时间加入集合
        //判断开始时间和结束时间是否相等
        if (startDate.compareTo(endDate) == 0) {
            return dateList;
        }
        Calendar cal = Calendar.getInstance();
        // 使用给定的 Date 设置此 Calendar 的时间
        cal.setTime(startDate);
        boolean bContinue = true;
        while (bContinue) {
            // 根据日历的规则，为给定的日历字段添加或减去指定的时间量
            cal.add(Calendar.DAY_OF_MONTH, 1);
            // 测试此日期是否在指定日期之后
            if (endDate.after(cal.getTime())) {
                dateString = formatter.format(cal.getTime());
                dateList.add(dateString);
            } else {
                break;
            }
        }
        dateString = formatter.format(endDate);
        dateList.add(dateString);// 把结束时间加入集合
        return dateList;
    }
}

